/**
 * @description  : 常用公共方法
 * @descriptionDetail : 常用公共方法
 * @copyright    : 浙江烟草
 * @author       : mc
 * @create       : 2022-11-04 19:07:48
 */
const common = {
  onShow(){
    if(this.mixinFlag){
      this.updateBackState(this.mixinParam);
      this.mixinFlag = false;
      this.mixinParam = {};
    }
  },
  methods:{
    getPrevPage(dail = 1){
      let pages = getCurrentPages();  // 获取所有页面栈实例列表
      if(pages.length <= dail){
        return undefined;
      }
      let prevPage = pages[ pages.length - (dail + 1)];  // 上一页页面实例
      return prevPage.$vm;
    },
    /**
	 * 从扫描或NFC获取的零售户信息中提取许可证号
	 * 不同的地区二维码信息不同，如果无法识别，需要修改本方法，添加相关特列
	 * 通用逻辑：查找到“许可证”后的第一个数字串即认为是许可证号
	 * @param {string} scanRetailerInfo
	 * @returns {string}
	 */
    getLicenseCode(scanRetailerInfo){
      let index = scanRetailerInfo.indexOf("许可证");
      if(index != -1) scanRetailerInfo = scanRetailerInfo.substr(index);
      let matches = scanRetailerInfo.match(/[0-9]+/);
      if(matches.length > 0) return matches[0];// 识别成功
      return "";// 无法识别
    },
	
    /**
     *根据ddCode取字典key对应的ddName
     * @param key
     * @param dealType
     */
    findDictCodeByName(key,codes) {
      let data;
      try{
        data = JSON.parse(uni.getStorageSync('DICT'));
      }catch(er){
        console.log(er);
        return "-";
      }
      if(this.$u.test.isEmpty(codes)) return "-";
      let code = codes.split(",");
      let temp = [];
      if(code.length > 0){
        for(let item of data){
          for(let dd of code){
            if(item.dKeywords === key && item.ddCode === dd) temp.push(item.ddName);
          }
        }
      }
      if(temp.length > 0) return temp.join(",");
      return "-";
    },
  },
}

export default common;